#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;


unordered_map<char,int> has;
int main() {
    int n;
    cin>>n;
    string str;
    cin>>str;
    int maxCount=0;
    char maxChar;
    for(int i=0;i<str.size();i++)
    {
        has[str[i]]++;
        if(has[str[i]]>maxCount)
        {
            maxChar=str[i];
            maxCount=has[str[i]];
        }
    }
    vector<char> ret(n);
    if(maxCount>(n+1)/2)
    {
        cout<<"no"<<endl;
        return 0;
    }
    int index=0;
    for(int i=0;i<maxCount;i++)
    {
        ret[index]=maxChar;
        index+=2;
    }
    has.erase(maxChar);
    for(auto& [x,y]: has)
    {
        for(int i=0;i<y;i++)
        {
            if(index>=n)
                index=1;
            ret[index]=x;
            index+=2;
        }
    }
    cout<<"yes"<<endl;
    for(auto& ch:ret)
    	cout<<ch;
    return 0;
}
